package com.ruoyi.compensationManagement.domain.vo;

import com.fasterxml.jackson.annotation.JsonFormat;
import com.ruoyi.common.annotation.Excel;
import com.ruoyi.common.core.domain.BaseEntity;
import com.ruoyi.compensationManagement.domain.CompensationDeductionAmountSettings;

import java.math.BigDecimal;
import java.util.Date;
import java.util.List;

/**
 * @author zy
 * @description
 * @date 2022/12/16
 */
public class StaffPayrollImportVo extends BaseEntity {
    private static final long serialVersionUID = 1L;

    /**
     * 在编人员工号
     */
    @Excel(name = "在编人员工号")
    private String jobnumber;

    /**
     * 姓名
     */
    @Excel(name = "姓名", needMerge = true)
    private String nickName;

    /**
     * 员工类型
     */
    @Excel(name = "员工类型", needMerge = true)
    private String employeeType;

    /**
     * 工资年月
     */
    @JsonFormat(pattern = "yyyy-MM")
    @Excel(name = "工资年月，如（2023-01）", width = 30, dateFormat = "yyyy-MM")
    private Date salaryyearmonth;

    /**
     * 岗位名称
     */
    @Excel(name = "岗位名称",width = 20, needMerge = true)
    private String position;

    /**
     * 薪级名称
     */
    @Excel(name = "薪级名称",width = 20, needMerge = true)
    private String salary;

    /**
     * 岗位工资
     */
    @Excel(name = "岗位工资",width = 20, needMerge = true)
    private BigDecimal positionSalary;

    /**
     * 薪级工资
     */
    @Excel(name = "薪级工资",width = 20, needMerge = true)
    private BigDecimal payWages;

    /**
     * 基础性绩效工资
     */
    @Excel(name = "基础性绩效工资",width = 20, needMerge = true)
    private BigDecimal basicPerformancePay;

    /**
     * 奖励性绩效工资
     */
    @Excel(name = "奖励性绩效工资",width = 20, needMerge = true)
    private BigDecimal incentivizedPerformancePay;

    /**
     * 基础性绩效奖
     */
    @Excel(name = "基础性绩效奖",width = 20, needMerge = true)
    private BigDecimal basicPerformanceAward;

    /**
     * 独生子女保健
     */
    @Excel(name = "独生子女保健",width = 20, needMerge = true)
    private BigDecimal oneChildCare;

    /**
     * 住房补贴
     */
    @Excel(name = "住房补贴",width = 20, needMerge = true)
    private BigDecimal housingSubsidies;

    /**
     * 加班工资
     */
    @Excel(name = "加班工资",width = 20, needMerge = true)
    private BigDecimal overtimePay;

    /**
     * 应发工资
     */
    @Excel(name = "应发工资",width = 20, needMerge = true)
    private BigDecimal wagesPayable;

    /**
     * 养老保险
     */
    @Excel(name = "养老保险",width = 20, needMerge = true)
    private BigDecimal endowmentInsurance;

    /**
     * 职业年金
     */
    @Excel(name = "职业年金",width = 20, needMerge = true)
    private BigDecimal occupationalCnnuity;

    /**
     * 医疗保险
     */
    @Excel(name = "医疗保险",width = 20, needMerge = true)
    private BigDecimal medicalInsurance;

    /**
     * 失业保险
     */
    @Excel(name = "失业保险",width = 20, needMerge = true)
    private BigDecimal unemploymentInsurance;

    /**
     * 住房公积金
     */
    @Excel(name = "住房公积金",width = 20, needMerge = true)
    private BigDecimal housingProvidentFund;

    /**
     * 个人所得税
     */
    @Excel(name = "个人所得税",width = 20, needMerge = true)
    private BigDecimal individualInComeTax;

    /**
     * 工会费
     */
    @Excel(name = "工会费",width = 20, needMerge = true)
    private BigDecimal laborDues;

    /**
     * 扣病假工资
     */
    @Excel(name = "扣病假工资",width = 20, needMerge = true)
    private BigDecimal deductionSickPay;

    /**
     * 扣事假工资
     */
    @Excel(name = "扣事假工资",width = 20, needMerge = true)
    private BigDecimal  deductionPersonalLeaveSalary;

    /**
     * 扣哺乳假工资
     */
    @Excel(name = "扣哺乳假工资",width = 20, needMerge = true)
    private BigDecimal  deductionNursingLeaveWages;

    @Excel(name = "实扣数",width = 20, needMerge = true)
    private BigDecimal actualDeduction;

    @Excel(name = "实发数",width = 20, needMerge = true)
    private BigDecimal actualSalary;


    private String deductionsPart;

    public String getNickName() {
        return nickName;
    }

    public void setNickName(String nickName) {
        this.nickName = nickName;
    }

    public Date getSalaryyearmonth() {
        return salaryyearmonth;
    }

    public void setSalaryyearmonth(Date salaryyearmonth) {
        this.salaryyearmonth = salaryyearmonth;
    }

    public String getPosition() {
        return position;
    }

    public void setPosition(String position) {
        this.position = position;
    }

    public String getSalary() {
        return salary;
    }

    public void setSalary(String salary) {
        this.salary = salary;
    }

    public BigDecimal getPositionSalary() {
        return positionSalary;
    }

    public void setPositionSalary(BigDecimal positionSalary) {
        this.positionSalary = positionSalary;
    }

    public BigDecimal getPayWages() {
        return payWages;
    }

    public void setPayWages(BigDecimal payWages) {
        this.payWages = payWages;
    }

    public BigDecimal getBasicPerformancePay() {
        return basicPerformancePay;
    }

    public void setBasicPerformancePay(BigDecimal basicPerformancePay) {
        this.basicPerformancePay = basicPerformancePay;
    }

    public BigDecimal getIncentivizedPerformancePay() {
        return incentivizedPerformancePay;
    }

    public void setIncentivizedPerformancePay(BigDecimal incentivizedPerformancePay) {
        this.incentivizedPerformancePay = incentivizedPerformancePay;
    }

    public BigDecimal getBasicPerformanceAward() {
        return basicPerformanceAward;
    }

    public void setBasicPerformanceAward(BigDecimal basicPerformanceAward) {
        this.basicPerformanceAward = basicPerformanceAward;
    }

    public BigDecimal getOneChildCare() {
        return oneChildCare;
    }

    public void setOneChildCare(BigDecimal oneChildCare) {
        this.oneChildCare = oneChildCare;
    }

    public BigDecimal getHousingSubsidies() {
        return housingSubsidies;
    }

    public void setHousingSubsidies(BigDecimal housingSubsidies) {
        this.housingSubsidies = housingSubsidies;
    }

    public BigDecimal getOvertimePay() {
        return overtimePay;
    }

    public void setOvertimePay(BigDecimal overtimePay) {
        this.overtimePay = overtimePay;
    }

    public BigDecimal getWagesPayable() {
        return wagesPayable;
    }

    public void setWagesPayable(BigDecimal wagesPayable) {
        this.wagesPayable = wagesPayable;
    }


    public BigDecimal getActualDeduction() {
        return actualDeduction;
    }

    public void setActualDeduction(BigDecimal actualDeduction) {
        this.actualDeduction = actualDeduction;
    }

    public BigDecimal getActualSalary() {
        return actualSalary;
    }

    public void setActualSalary(BigDecimal actualSalary) {
        this.actualSalary = actualSalary;
    }

    public String getDeductionsPart() {
        return deductionsPart;
    }

    public void setDeductionsPart(String deductionsPart) {
        this.deductionsPart = deductionsPart;
    }

    public String getEmployeeType() {
        return employeeType;
    }

    public void setEmployeeType(String employeeType) {
        this.employeeType = employeeType;
    }

    public BigDecimal getEndowmentInsurance() {
        return endowmentInsurance;
    }

    public void setEndowmentInsurance(BigDecimal endowmentInsurance) {
        this.endowmentInsurance = endowmentInsurance;
    }

    public BigDecimal getOccupationalCnnuity() {
        return occupationalCnnuity;
    }

    public void setOccupationalCnnuity(BigDecimal occupationalCnnuity) {
        this.occupationalCnnuity = occupationalCnnuity;
    }

    public BigDecimal getMedicalInsurance() {
        return medicalInsurance;
    }

    public void setMedicalInsurance(BigDecimal medicalInsurance) {
        this.medicalInsurance = medicalInsurance;
    }

    public BigDecimal getUnemploymentInsurance() {
        return unemploymentInsurance;
    }

    public void setUnemploymentInsurance(BigDecimal unemploymentInsurance) {
        this.unemploymentInsurance = unemploymentInsurance;
    }

    public BigDecimal getHousingProvidentFund() {
        return housingProvidentFund;
    }

    public void setHousingProvidentFund(BigDecimal housingProvidentFund) {
        this.housingProvidentFund = housingProvidentFund;
    }

    public BigDecimal getIndividualInComeTax() {
        return individualInComeTax;
    }

    public void setIndividualInComeTax(BigDecimal individualInComeTax) {
        this.individualInComeTax = individualInComeTax;
    }

    public BigDecimal getLaborDues() {
        return laborDues;
    }

    public void setLaborDues(BigDecimal laborDues) {
        this.laborDues = laborDues;
    }

    public BigDecimal getDeductionSickPay() {
        return deductionSickPay;
    }

    public void setDeductionSickPay(BigDecimal deductionSickPay) {
        this.deductionSickPay = deductionSickPay;
    }

    public BigDecimal getDeductionPersonalLeaveSalary() {
        return deductionPersonalLeaveSalary;
    }

    public void setDeductionPersonalLeaveSalary(BigDecimal deductionPersonalLeaveSalary) {
        this.deductionPersonalLeaveSalary = deductionPersonalLeaveSalary;
    }

    public BigDecimal getDeductionNursingLeaveWages() {
        return deductionNursingLeaveWages;
    }

    public void setDeductionNursingLeaveWages(BigDecimal deductionNursingLeaveWages) {
        this.deductionNursingLeaveWages = deductionNursingLeaveWages;
    }

    public String getJobnumber() {
        return jobnumber;
    }

    public void setJobnumber(String jobnumber) {
        this.jobnumber = jobnumber;
    }

    @Override
    public String toString() {
        return "StaffPayrollImportVo{" +
                "jobnumber='" + jobnumber + '\'' +
                ", nickName='" + nickName + '\'' +
                ", employeeType='" + employeeType + '\'' +
                ", salaryyearmonth='" + salaryyearmonth + '\'' +
                ", position='" + position + '\'' +
                ", salary='" + salary + '\'' +
                ", positionSalary=" + positionSalary +
                ", payWages=" + payWages +
                ", basicPerformancePay=" + basicPerformancePay +
                ", incentivizedPerformancePay=" + incentivizedPerformancePay +
                ", basicPerformanceAward=" + basicPerformanceAward +
                ", oneChildCare=" + oneChildCare +
                ", housingSubsidies=" + housingSubsidies +
                ", overtimePay=" + overtimePay +
                ", wagesPayable=" + wagesPayable +
                ", endowmentInsurance=" + endowmentInsurance +
                ", occupationalCnnuity=" + occupationalCnnuity +
                ", medicalInsurance=" + medicalInsurance +
                ", unemploymentInsurance=" + unemploymentInsurance +
                ", housingProvidentFund=" + housingProvidentFund +
                ", individualInComeTax=" + individualInComeTax +
                ", laborDues=" + laborDues +
                ", deductionSickPay=" + deductionSickPay +
                ", deductionPersonalLeaveSalary=" + deductionPersonalLeaveSalary +
                ", deductionNursingLeaveWages=" + deductionNursingLeaveWages +
                ", actualDeduction=" + actualDeduction +
                ", actualSalary=" + actualSalary +
                ", deductionsPart='" + deductionsPart + '\'' +
                '}';
    }
}
